1. Field of the Invention
Embodiments of the present invention generally relate to program instruction execution and, more specifically, to controlling the scheduling of program instruction execution in a processing pipeline.
2. Description of the Related Art
Conventional three-dimensional (3D) graphics processing includes executing program instructions in processing units configured in a pipeline. Sometimes graphics data is processed in multiple passes through the pipeline. Although more than one processing unit in the pipeline may be capable of executing a particular instruction, it may be advantageous to have a specific unit in the pipeline execute the instruction. For example, values computed when an upstream processing unit executes a first program instruction may be needed as inputs by a downstream unit to execute a second program instruction. Also, if the first program instruction is scheduled for execution by the downstream processing unit, the values may need to be fed back to the upstream unit and provided to the downstream unit to execute the second program instruction in a second pass through the pipeline.
Accordingly, there is a need to control the scheduling of program instructions for execution in a pipeline.